Skip to content

chore(deps): update all non-major dependencies - #262

Merged
alexfriesen merged 1 commit into
mainfrom
renovate/all-minor-patch
Oct 9, 2026
Merged

alexfriesen merged 1 commit into
mainfrom
renovate/all-minor-patch

Conversation

@renovate

@renovate renovate Bot commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

ℹ️ Note

This PR body was truncated due to platform limits.

This PR contains the following updates:

Package Change Age Confidence
@iconify-json/lucide ^1.2.136 → ^1.2.141 age confidence
@iconify-json/simple-icons ^1.2.97 → ^1.2.99 age confidence
@nuxt/test-utils ^4.3.2 → ^4.3.3 age confidence
@nuxt/ui (source) ^4.11.2 → ^4.11.3 age confidence
@playwright/test (source) ^1.63.0 → ^1.64.0 age confidence
@types/node (source) ^24.13.6 → ^24.19.1 age confidence
docus ^5.13.0 → ^5.14.0 age confidence
h3-next (source) 2.0.1-rc.32 → 2.0.2 age confidence
knip (source) ^6.37.0 → ^6.40.0 age confidence
nanoid ^6.0.1 → ^6.0.2 age confidence
nuxt (source) ^4.5.2 → ^4.6.0 age confidence
oxfmt (source) ^0.70.0 → ^0.72.0 age confidence
oxlint (source) ^1.85.0 → ^1.87.0 age confidence
pg (source) ^8.23.0 → ^8.23.1 age confidence
pnpm (source) 12.8.1 → 12.10.1 age confidence
vue-i18n (source) ^11.4.12 → ^11.4.13 age confidence
vue-tsc (source) ^3.3.11 → ^3.3.12 age confidence

Release Notes

nuxt/test-utils (@​nuxt/test-utils)

v4.3.3

Compare Source

v4.3.3 is the next patch release.

👉 Changelog

compare changes

🔥 Performance
  • use h3's toWebHandler instead of node-mock-http (abe8ad944)
  • resolve h3 from the project (b5d802f03)
  • replace estree-walker with oxc-walker (8e8ca5e8b)
  • replace local-pkg with exsolve (38938a879)
  • replace c12 with native dotenv parsing (26c72afa0)
  • inline destr and scule usage (e4bfd2ebe)
  • drop node-fetch-native polyfill (6b654de5c)
  • replace nypm with package-manager-detector (#​1828)
🩹 Fixes
  • runtime-utils: type registerEndpoint against the project h3 (#​1831)
  • e2e: restore console after use nuxt kit (#​1817)
  • config: exclude aliased mock packages from optimizeDeps in browser mode (#​1816)
  • runtime: setup nuxt once per worker in no-isolate (#​1821)
  • browser: correct render helper options type (#​1822)
🏡 Chore
  • move vue to peer dependencies (e70592ffa)
  • declare supported nuxt versions as peer dependency (b473892c9)
🤖 CI
❤️ Contributors
nuxt/ui (@​nuxt/ui)

v4.11.3

Compare Source

Bug Fixes
  • App: apply the dir prop to the provided locale (#​6767) (93c40df)
  • ChatPrompt: add method="post" to prevent input leaking via GET before hydration (#​7078) (57f7699)
  • CheckboxGroup/RadioGroup: lift a hovered table item above its neighbors (#​7073) (926097a)
  • ContentSearch/DashboardSearch: use translated search label as dialog title (#​7062) (3c55cf2)
  • DashboardSidebar/Header: use translated toggle label as menu dialog title (#​7082) (51e98da)
  • EditorToolbar: use tooltip text as aria-label on icon-only buttons (#​7009) (7f0250e)
  • Form: include nested forms in parent dirty state (#​6545) (8977394)
  • Form: keep dirty state and validation in sync with input (#​7033) (56b1156)
  • Form: merge unnamed nested forms into a parent without schema (#​7034) (384fdc1)
  • module: detect kebab-case components in Pug templates (#​7045) (42ba532)
  • module: generate classes prefixed by usePrefix (#​7074) (77c92de)
  • module: use @custom-variant for light and dark variants (#​7023) (584016b)
  • ProseA: only round corners on focus (3da141c)
  • Select/SelectMenu: keep focus moved on selection (#​7083) (6138bf0)
  • Table: keep footer separator above pinned columns (#​7047) (e8756fd)
  • theme: drop double quotes from class strings (#​7039) (5a04c6c)
  • useFilter: keep labels and separators in place while sorting (#​6995) (032a152)
  • useOverlay: resolve every pending promise when reopened (#​7057) (2f50c2e)
  • utils: prevent prototype pollution in set and setAtPath (#​7077) (4bfd115)
microsoft/playwright (@​playwright/test)

v1.64.0

Compare Source

🧰 WebMCP

New page.webmcp and frame.webmcp give access to the tools that a page registers through the experimental WebMCP browser API, so you can test them like any other part of your app:

const browser = await chromium.launch({ args: ['--enable-features=WebMCP'] });
const page = await browser.newPage();
await page.goto('https://example.com');

for (const tool of await page.webmcp.tools())
  console.log(tool.name, tool.description);

const result = await page.webmcp.callTool('add', { a: 2, b: 40 });
console.log(result.content[0].text); // "42"

Playwright MCP also supports WebMCP by default, with page-defined tools offered to the agent as webmcp_<tool>. Pass --no-webmcp to opt out.

playwright-cli exposes them as well:

playwright-cli webmcp-list
playwright-cli webmcp-call search_catalog --params '{"query":"cats"}'

🎬 Better videos

Videos can now be recorded at a custom frame rate, and the decorations for actions are styled with plain CSS:

// playwright.config.ts
import { defineConfig } from '@playwright/test';

export default defineConfig({
  use: {
    video: {
      mode: 'on',
      size: { width: 1920, height: 1080 },
      fps: 60,
      show: {
        actions: {
          style: {
            point: 'width: 20px; height: 20px; border-radius: 50%; background: red',
            highlight: 'outline: 2px solid #&#8203;333; background: rgba(0, 128, 255, .15)',
            title: 'font-size: 16px',
          },
        },
      },
    },
  },
});
  • New fps option in testOptions.video, recordVideo and
    screencast.start(). Firefox and WebKit currently capture up to 25 frames per second.
  • New style option takes CSS declarations for the point marker, the target
    highlight and the action title. It replaces the fontSize option, which is now deprecated.
  • The cursor stays visible at the last action point, survives navigations and travels along a natural, eased path.
  • Videos are encoded with VP9 instead of VP8, which takes less CPU and produces smaller files of the same or better
    quality.
  • All video options are also available in Playwright MCP and playwright-cli.

🎯 Test runner

  • New testProject.default option keeps a project in the config without running it by default. You can configure every browser you care about, and let a plain npx playwright test run just your favourite one:

    // playwright.config.ts
    import { defineConfig, devices } from '@playwright/test';
    
    export default defineConfig({
      projects: [
        { name: 'chromium', use: devices['Desktop Chrome'] },
        { name: 'firefox', use: devices['Desktop Firefox'], default: false },
        { name: 'webkit', use: devices['Desktop Safari'], default: false },
      ],
    });
    npx playwright test                     # runs chromium only
    npx playwright test --project=firefox   # runs firefox
    npx playwright test --project="*"       # runs all three, for example on CI
  • New --shuffle command line option schedules tests in a random order, which helps to find tests that accidentally depend on each other.

    npx playwright test --shuffle
    # Running 42 tests using 4 workers, shuffle seed 271828182
    # ...
    
    # Pass the seed to reproduce the same order.
    npx playwright test --shuffle 271828182
  • New lock option in test.describe.configure() adds test locks to all tests in a file or a group:

    test.describe.configure({ lock: 'user-settings' });
  • New type option of toHaveScreenshot in testConfig.expect stores all unnamed screenshots as WebP:

    // playwright.config.ts
    export default defineConfig({
      expect: {
        toHaveScreenshot: { type: 'webp' },
      },
    });

🪆 Locator.within()

New locator.within() combines two locators that you already have, reading in the natural order —
"this button, within that dialog":

const saveButton = page.getByRole('button', { name: 'Save' });
const dialog = page.getByTestId('settings-dialog');

await saveButton.within(dialog).click();

Relative locators such as locator.nth() or locator.first() are resolved inside each parent
separately, which makes column-like queries straightforward:

// The third cell of every row, not the third cell in the table.
const thirdColumn = page.getByRole('cell').nth(2).within(page.getByRole('row'));
await expect(thirdColumn).toHaveText(['Apple', 'Banana', 'Cherry']);

New APIs

Breaking changes ⚠️

  • screen property is now forwarded from the device descriptors. If you use ...devices['Desktop Chrome'] and alike, window.screen and media queries now see the emulated screen size. You can opt-out by explicitly setting screen to undefined:

    // playwright.config.ts
    export default defineConfig({
      use: {
        ...devices['Desktop Chrome'],
        screen: undefined,
      },
    });
  • JSX in your test files now follows your tsconfig.json. Playwright compiles JSX in test files according to the jsx, jsxFactory, jsxFragmentFactory and jsxImportSource tsconfig options, and defaults to the automatic runtime from react/jsx-runtime.

  • --update-snapshots=missing now passes the test run. Tests that only create missing snapshots now pass in the 'missing' mode of testConfig.updateSnapshots, so that CI can generate new snapshots and verify the existing ones in a single run. The mode used when the option is not specified is now called 'default' and behaves as before: missing snapshots are written and the test fails.

  • Elements inside hidden iframes are considered hidden. Elements inside an iframe that is not visible, for example with visibility: hidden, are now considered hidden by actions, locator.isVisible() and expect(locator).toBeVisible().

Browser Versions

  • Chromium 156.0.8078.4
  • Mozilla Firefox 157.0
  • WebKit 27.2

This version was also tested against the following stable channels:

  • Google Chrome 155
  • Microsoft Edge 155
nuxt-content/docus (docus)

v5.14.0

Compare Source

Features
Bug Fixes
h3js/h3 (h3-next)

v2.0.2

Compare Source

compare changes

🩹 Fixes
  • node: Call onError for stream errors in Node.js handlers (#​1571)
  • response: Use matching reason phrases in redirect and noContent (#​1570)
  • middleware: Pass through handled responses in onError (#​1574)
📖 Documentation
🌊 Types
  • session: Remove @ts-nocheck from iron-crypto (#​1572)
  • route: Infer defineRoute handler input from validation schemas (ec527f0)
🏡 Chore
  • session: Retarget legacy seal fallback removal to v3 (#​1573)
  • session: Mark legacySealFallback as deprecated (44dbfb8)
  • Update deps (ac79e5f)
  • Update release script (07d7d2c)
❤️ Contributors

v2.0.1

Compare Source

compare changes

🚀 Enhancements
  • rules: Skip redirect when the request is already at the target (#​1559)
🩹 Fixes
  • cookie: Include partitioned in the distinct-cookie key (#​1553)
  • sse: Preserve buffered events during overlapping flushes (#​1555)
  • static: Set vary header when a single encoding is accepted (#​1556)
  • static: Honor q-values and case in accept-encoding (#​1560)
  • mime: Add .mjs and .cjs to COMMON_MIME_TYPES (#​1566)
  • rules: Normalize rule keys like routes and tighten the shape guard (7cbf21c)
  • rules: Let a narrower pattern reinstate a rule reset on another reading (3f1c9e5)
  • rules: Allow headers: false in RouteRuleConfig (edcc329)
  • validate: Preserve repeated query values in defineValidatedHandler (#​1562)
  • cookie: Size cookie chunks by their encoded length (#​1565)
  • static: Resolve the MIME type of a precompressed variant from the requested asset (#​1564)
  • mount: Reject // after base (1161eb7)
  • session: Keep loaded session data prototype-free (46bc1a2)
💅 Refactors
📖 Documentation
  • Document raw query access via event.url.search (#​1551)
🌊 Types
  • auth: BasicAuth context fields are always set (#​1550)
🏡 Chore
❤️ Contributors

v2.0.1-rc.33

Compare Source

compare changes

🚀 Enhancements
  • rules: Skip redirect when the request is already at the target (#​1559)
🩹 Fixes
  • cookie: Include partitioned in the distinct-cookie key (#​1553)
  • sse: Preserve buffered events during overlapping flushes (#​1555)
  • static: Set vary header when a single encoding is accepted (#​1556)
  • static: Honor q-values and case in accept-encoding (#​1560)
  • mime: Add .mjs and .cjs to COMMON_MIME_TYPES (#​1566)
  • rules: Normalize rule keys like routes and tighten the shape guard (7cbf21c)
  • rules: Let a narrower pattern reinstate a rule reset on another reading (3f1c9e5)
  • rules: Allow headers: false in RouteRuleConfig (edcc329)
  • validate: Preserve repeated query values in defineValidatedHandler (#​1562)
  • cookie: Size cookie chunks by their encoded length (#​1565)
  • static: Resolve the MIME type of a precompressed variant from the requested asset (#​1564)
  • mount: Reject // after base (1161eb7)
  • session: Keep loaded session data prototype-free (46bc1a2)
💅 Refactors
📖 Documentation
  • Document raw query access via event.url.search (#​1551)
🌊 Types
  • auth: BasicAuth context fields are always set (#​1550)
🏡 Chore
❤️ Contributors
webpro-nl/knip (knip)

v6.40.0: Release 6.40.0

Compare Source

v6.39.0: Release 6.39.0

Compare Source

v6.38.0: Release 6.38.0

Compare Source

ai/nanoid (nanoid)

v6.0.2

Compare Source

nuxt/nuxt (nuxt)

v4.6.0

Compare Source

v4.6.0 is the next minor release.

📣 Some news

🖥️ Nuxt CLI v4

Alongside the release of Nuxt v4.6, today also brings a new major release of the Nuxt CLI: @nuxt/cli v4. It ships as a dependency of nuxt, so you'll get it automatically when you upgrade.

Most of what's new is in nuxt dev:

  • an interactive terminal UI, showing URLs, startup progress and keyboard shortcuts, with panels to dive into error logs, routes, network requests and more
  • the dev server gives you more info, such as why it reloaded or restarted, which nuxt.config keys changed, where the time went during a slow start or build, and how long each module took to set up
  • a CLI-level error channel rendered with my-bad (see below), powering things like automatically reloading when a syntax error in nuxt.config.ts is fixed
  • a lock file in .nuxt/, which lets a second nuxt dev (say, one started by an agent) take over or defer to the one you started, and powers new nuxt curl and nuxt task commands that talk to the running server

There's also a new nuxt docs "<query>" search, and nuxt preview --takeover can replace a running preview server. And in general nuxt/cli is a lot smaller and starts a lot faster:

v3.37 v4.0
@nuxt/cli install size 13.1 MB 3.5 MB -73%
@nuxt/cli dependencies 70 31 -56%
nuxt dev: first paint 330 ms 50 ms 6.6x faster
nuxt dev: port bound 338 ms 104 ms 3.2x faster
nuxt dev: memory at rest (Linux) 630 MB 440 MB -30%
nuxt-dev

Although this is a major version, none of the changes should be breaking for Nuxt v4 users: we require Node.js v22.21+, v24.11+ or v26+, we drop nuxt init and only support npm create nuxt@latest, and Nuxt 2 and @nuxt/bridge are no longer supported.

👉 Check out the full Nuxt CLI v4 release notes for everything that's changed.

💡 A server-agnostic Nuxt

The biggest thing about this release is our move towards making Nuxt server-agnostic.

I feel that freedom of choice is very much a fundamental value of the web, and one that unites the whole Nuxt team.

You can use pages/ (with vue-router) or not. You can use Vite, webpack or Rspack to bundle your code. You can pick from dozens of providers to deploy to, pick any image or font provider, choose any database adapter. In every case, the framework is the same.

The server side was different. #app composables imported h3 types, server code imported from h3 and nitropack, and every module that touched the server was tied to whichever major version of those packages Nuxt happened to depend on.

This has become particularly clear as we have been upgrading to new majors of h3 and nitro, which ship breaking changes with a cascading effect throughout the whole ecosystem.

👉 This release changes that.

Alongside explicitly defining our public API in nuxt/kit (which now does not refer to external packages), Nuxt now specifies our own types for the request event, route rules and typed $fetch, and we expose an import surface (nuxt/server) for the server utilities that will be needed by most apps.

This is the culmination of work we started almost a year ago, making it possible to use any server builder with Nuxt, not just Nitro (#​33462).

Of course, under the hood, nuxt/server is still powered by Nitro by default - though we are also announcing a second, experimental implementation, @nuxt/vite-server, which allows pure-Vite server builds using the Vite Environment API.

[!IMPORTANT]
We believe that Nitro is still the right choice for almost everyone.

🌟 We see a number of key benefits for nuxt/server.

  1. it smooths the upgrade to Nuxt 5, which moves to Nitro v3 and h3 v2. Server code written against nuxt/server on 4.6 runs unchanged there, so a module can ship one file for both.
  2. it decouples Nuxt from the Nitro release cycle. Because we 'own' the API, we can adapt to breaking changes in Nitro or h3 without requiring a future major - and we can release Nuxt majors without having to wait for upstream releases.
  3. it makes Nuxt's code more maintainable. It helps us preserve the separation of concerns between our API - /app and /server - and the bundler + server that you ultimately want to build your app.

... and there are a number of other benefits too, from a single type surface to being able to iterate more quickly on features.

Finally, I want to say a special thank-you to @​pi0, whose relentless focus on server agnosticism and work on h3, Nitro and web-standard server primitives over the last few years is what makes a portable RequestEvent possible at all. Thank you, Pooya. ❤️

Almost every feature in this release is already in the Nuxt 5 branch, and most of the remaining Nuxt 5 defaults can be tested today with future.compatibilityVersion: 5 (more details below!).

[!TIP]
Nuxt 3 reached end-of-life on July 31, 2026, so there is no 3

❗ Important

✂ PR body was truncated to here.


Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@coderabbitai

coderabbitai Bot commented Sep 24, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 08e7e063-4183-4754-b9de-eb064f8776a9

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autopilot · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from 1a7f216 to 46ec7ba Compare September 26, 2026 14:06
@renovate renovate Bot changed the title chore(deps): update dependency knip to ^6.38.0 chore(deps): update all non-major dependencies Sep 26, 2026
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from 9ff89a6 to c9bdbec Compare October 4, 2026 00:30
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch 10 times, most recently from b46877d to afbb88f Compare October 8, 2026 20:14
@renovate
renovate Bot force-pushed the renovate/all-minor-patch branch from afbb88f to ae0a297 Compare October 8, 2026 22:49
@alexfriesen
alexfriesen merged commit f27158d into main Oct 9, 2026
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant